var a = [];

for (var i = 0; i < 10; i++) {
    a[i] = function () {
        console.log(i);
    }
}

console.log(a[6]);
a[6]();  // 10
// i 每次都会增加，遍历后 i 增加到了 10，因此打印任何 a 中元素对应的 i 都为 10

var b = []

for (let i = 0; i < 10; i++) {  // let 的作用域为块级，因此每次循环 i 都是一个新的变量
    b[i] = function () {
        console.log(i);
    }
}

b[6]();  // 6
